Sentaurus Process
4. Defining Models and Specifying Parameters

4.1 Parameter Database Browser
4.2 Changing Parameters in Command File
4.3 Example: Changing Dopant Diffusivity
4.4 Assignment

Objectives

The files discussed in this section are part of the Sentaurus Workbench project Models. The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sprocess/Models.

4.1 Parameter Database Browser

If the physical models and parameter values are not specified explicitly , Sentaurus Process uses the default models and parameters. These defaults are stored in the property database of Sentaurus Process, which consists of a hierarchical directory tree that is part of the TCAD distribution. The standard location is:

$STROOT/tcad/$STRELEASE/lib/score/Params/

The Parameter Database Browser (PDB) is a graphical representation of the Sentaurus Process property database that is used to view, evaluate, and edit parameters.

To start the PDB:

> sprocess -p  

Parameter Database Browser

Figure 1. Parameter Database Browser. (Click image for full-size view.)

In Figure 1, for example, the default expression of the segregation coefficient Segregation for arsenic at Oxide_Silicon interfaces is shown. The value is given as:

[Arr 0.75 -0.336]

Arr is a Tcl procedure, which constructs an Arrhenius law expression. The first argument is the pre-exponential factor, the second one is the activation energy (see the Tool Command Language module for an introduction).

In Figure 1, the lower-right pane plots the temperature dependency of the segregation coefficient.

In principle, the entries in the Sentaurus Process property database can be edited directly from the PDB. However, the database distributed with the TCAD release is typically write protected.

To edit the property database directly, copy the entire directory structure $STROOT/tcad/$STRELEASE/lib/score to a user-writable location and set up the environment variable SCHOME, which points to the new location.

For example, for the tcsh shell:

tcsh> cp -R $STROOT/tcad/$STRELEASE/lib/score
      /remote/users1/<your_profile>/score

tcsh> setenv SCHOME /remote/users1/<your_profile>/score

Use Tools > Edit to open the corresponding file from the property database, here,
/remote/users1/<your_profile>/score/Params/Oxide_Silicon/Arsenic in the text editor SEdit. The line corresponding to the segregation coefficient is:

array set $Base {Segregation {Double {[Arr 0.75 -0.336]}}}

All entries must start with the string array set $Base. Then follows the parameter name, here Segregation, and the parameter type. For example, numeric parameters have the type Double; logical flags have the type Boolean. The last part is the value (or expression) of the parameter. Note that each entry and subentry is enclosed in braces.

Changing parameter values directly in the Sentaurus Process parameter database can be a good way for you to ensure the use of a consistent set of parameters for all projects. However, different projects require different settings, and such global changes may cause problems. In this case, other methods such as those discussed in the following sections are more appropriate.

4.2 Changing Parameters in Command File

To change parameters for a specific simulation run, use the command:

pdbSet Oxide_Silicon Vacancy Ksurf {[Arrhenius 1e3 0.1]}

Here, the surface recombination rate Ksurf for vacancies at Oxide_Silicon interfaces is set to an Arrhenius law:

Ksurf = A exp(-E/kT)

where A is the pre-exponential factor, here 1000 cm/s, and E is the activation energy, here 0.1 eV.

Two sets of brackets are used. The brackets identify a Tcl expression, and the braces suppress the evaluation of the expression, such that Ksurf is set to the string [Arrhenius 1e3 0.1] instead of the value to which the string evaluates. The evaluation can also be suppressed by masking the brackets with backslashes. This notation must be used if the expression contains variables that should be expanded.

For example:

set E0 0.1 ; # Activation energy (eV)
set A0 1e3 ; # Surface recombination rate (cm/s)
pdbSet Oxide_Silicon Vacancy Ksurf "\[Arrhenius $A0 $E0\]"

The difference between an immediate and a suppressed evaluation of the expression can be seen when the value of Ksurf is retrieved.

To retrieve a value of a parameter, use:

pdbDelayDouble Oxide_Silicon Vacancy Ksurf
---> [expr [Arrhenius 1e3 0.1]]

pdbGet Oxide_Silicon Vacancy Ksurf
---> 20.8986

where the pdbDelayDouble command retrieves the value without evaluating it (if it is an expression) and pdbGet evaluates it for the current conditions (that is, at the current processing temperature).

The following example shows how the evaluation depends on the current conditions:

pdbSet Oxide_Silicon Vacancy Ksurf {[ Arrhenius 1e3 0.1]}

line x location=0.0      spacing=0.2<um> tag=SiTop                      
line x location=2.0<um>  spacing=0.2<um> tag=SiBottom    
region Silicon xlo=SiTop xhi=SiBottom 
init concentration=1.0e15<cm-3> field=Boron wafer.orient=100

puts [pdbGet Oxide_Silicon Vacancy Ksurf]
---> 20.8986

diffuse temperature=900<C> time=40<min> 
puts [pdbGet Oxide_Silicon Vacancy Ksurf]
---> 371.887

The first call of pdbGet evaluates the Arrhenius expression at 300 K and the second one, at 900°C.

4.3 Example: Changing Dopant Diffusivity

The following example shows how to select a dopant diffusivity model and how to change the model parameter from a default value:

pdbSet Silicon Dopant DiffModel Constant
line x location=0.0<um> tag=SubTop    spacing= 20.0<nm>
line x location=2.0<um> tag=SubBottom spacing= 20.0<nm>
region silicon xlo=SubTop xhi=SubBottom
init concentration=1e+10<cm-3> field=Boron
implant species=Boron Silicon gaussian

The above lines set up a 1D structure and select a diffusivity model. Note that the implant model was changed from the default model to a simple Gaussian (for aesthetic purposes).

The dopant is now implanted and driven using the default diffusion parameters. Note that the structure is saved to start the next simulation at the same conditions immediately after implantation.

implant Boron dose=1e14<cm-2> energy=400.0<keV> 

SetPlxList {Boron_Implant}
WritePlx n1_AsImplant.plx
struct tdr=n1_AsImplant

diffuse temperature=1000<C> time=1<hr>

SetPlxList {BTotal}
WritePlx n1_D1.plx

The simulation is restarted at time zero. Before applying the identical anneal, the diffusivity parameter is quadrupled from its default value obtained by the pdbGet command:

init tdr=AsImplant
pdbSet Silicon Boron Dstar "\[expr 4.0*[pdbDelayDouble Silicon Boron Dstar]\]"
diffuse temperature=1000<C> time=1<hr>

WritePlx n1_D2.plx

Boron concentration versus depth for diffusivity parameter

Figure 2. Boron concentration versus depth for a diffusivity parameter with default value (red) and with a four times default value (blue).

Click to view the command file sprocess_fps.cmd.

4.4 Assignment

The objective of this exercise is to compare profile shapes produced using different dopant-clustering models. The diffusivity of the mobile dopant will be identical in all comparisons.

Step 1. Define Substrate

Step 2. Set Up Identical Anneals to Be Used with Different Models

Step 3. Run the First of the Four Simulations with Default Settings

Step 4. Change Boundary Condition to a Boron Sink for the Second of the Four Simulations

Step 5. Change Boundary Condition to a Boron Source for the Third of the Four Simulations

Step 6. Change Boundary Condition to Defaults But Decrease Solid Solubility for Last Simulation

Step 7. View the Output

Comparison of 1D profile shapes for boron

Figure 3. Comparison of 1D profile shapes for boron produced using different dopant-clustering models.

Note that:

Click to view a solution of the command file sprocess1_fps.cmd.

main menu    |   module menu    |   << previous section    |   next section >>